package com.ds.infra.rpc.annotation;

import org.springframework.context.annotation.Import;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 作用：启用RPC框架功能
 *
 * @author WeiShaoying
 */
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Import(RpcComponentScannerRegistrar.class) // 处理扫描逻辑
public @interface EnableRpc {
    /**
     * 扫描基础包路径（默认启动类所在包）
     */
    String[] scanBasePackages() default {};

    /**
     * 是否自动注册服务（Provider端需要）
     */
    boolean autoRegisterService() default true;
}
